﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        struct PersonStruct
        {
            public string name;
            public string phone;
            public string address;
        }
        static void Main(string[] args)
        {
            //定义一个结构体，名为PersonStruct，有三个成员变量：姓名、电话、地址，
            //在主方法中，创建一个PersonStruct结构体对象p1，为p1的成员变量赋值。
            //再声明一个PersonStruct结构体变量p2，把p1赋值给p2，改变p2的姓名，打印p1的内容。
            PersonStruct p1 = new PersonStruct();
            p1.name = "张三";
            p1.phone = "122-4567-8988";
            p1.address = "昆明";

            Console.WriteLine("我的名字是{0}，我的电话号码是：{1}，我住在{2}。",p1.name,p1.phone,p1.address);

            PersonStruct p2 = new PersonStruct();
            p2 = p1;
            p2.name = "李四";
            Console.WriteLine("我的名字是{0}，我的电话号码是：{1}，我住在{2}。", p1.name, p1.phone, p1.address);
            Console.WriteLine("我的名字是{0}，我的电话号码是：{1}，我住在{2}。", p2.name, p2.phone, p2.address);
            //定义一个类，名为PersonClass，有三个成员变量：姓名、电话、地址，
            //在主方法中，创建一个PersonClass对象p3，为p3的成员变量赋值。
            //再声明一个PersonClass变量p4，把p3赋值给p4，改变p4的姓名，打印p3的内容。
            PersonClass p3 = new PersonClass("王五", "123-5647-8978", "大版");
            Console.WriteLine("我的名字是{0}，我的电话号码是：{1}，我住在{2}。", p3.Name, p3.Phone, p3.Address);
            PersonClass p4 = new PersonClass();
            p4 = p3;
            p4.Name = "赵六";
            Console.WriteLine("我的名字是{0}，我的电话号码是：{1}，我住在{2}。", p3.Name, p3.Phone, p3.Address);
            Console.WriteLine("我的名字是{0}，我的电话号码是：{1}，我住在{2}。", p4.Name, p4.Phone, p4.Address);
            //观察打印结果，并在在注释中，说下你对此的认识（它们为什么会这样？）
            Console.ReadKey();
        }
    }
    class PersonClass 
    {
        public string Name;
        public string Phone;
        public string Address;

        public PersonClass(string name,string phone, string address) 
        {
            this.Name = name;
            this.Phone = phone;
            this.Address = address;
        }
        public PersonClass()
        { 
        }
    }
}
